#!/bin/bash
at the head of file indicates shell type
strict format
For
if [[ $input == "hello" ]]
, note that the space after [[ and before ]] is very strict, since [[]] can be used for matching regular expressionarguments
- $@: stores all the arguments in a list of string
- $*: stores all the arguments as a single string
- $#: stores the number of arguments
- shift: remove the first argument
When starting login or interative shells, certain files will be executed based on the following tables:
For bash:
login-y interactive-y: profile
login-y interactive-n: profile
login-n interactive-y: bashrc
For zsh:
login-y interactive-y: zshenv zprofile zshrc zlogin
login-y interactive-n: zshenv zprofile zlogin
login-n interactive-y: zshenv zshrc
login-n interactive-n: zshenv